iT邦幫忙

2024 iThome 鐵人賽

DAY 18
0

常數和方法

  • Java已經將較常使用的數學函數製作成方法,並且封裝在javqa.lang套件之內的Math類別。
    (因此使用Math類別時不必再宣告import java.lang.Math)
  1. 常數
名稱 資料值 說明
E double 2.718281828459045 自然對數函數的底數 e
PI double 3.141592653589793 圓周率 𝝅
  1. 方法

隨機亂數:

方法 回傳值類型 說明
random() double 2.718281828459045

次方與平方根:

方法 回傳值類型 說明
pow(a,n) double a為基數,n為指數,回傳aⁿ的結果。
sqrt(a) double 回傳a的正平方根。

數值比較:

方法 回傳值類型 說明
min(a,b) double/float/int/long 回傳a與b比較結果最小的值。
max(a,b) double/float/int/long

絕對值:

方法 回傳值類型 說明
abs(a) double/float/int/long 回傳a的絕對值。

角度與弧度轉換:

方法 回傳值類型 說明
toDegrees(angrad) double 回傳angrad弧度之角度
toRadians(angrad) double 回傳angrad角度之角度

三角函數:

方法 回傳值類型 說明
sin(a) double 回傳正弦函數sin(a)之值。
cos(a) double 回傳餘弦函數cos(a)之值。
tan(a) double 回傳正切函數tan(a)之值。

反三角函數:

方法 回傳值類型 說明
asin(a) double 回傳sin⁻¹(a)之值。
acos(a) double 回傳cos⁻¹(a)之值。
atan(a) double 回傳tan⁻¹(a)之值。

指數與對數

方法 回傳值類型 說明
exp(n) double 回傳指數eⁿ的值。
log(a) double 回傳以e為基底的log(a)的值。
log10(a) double 回傳以10為基底的log(a)的值。
  1. 使用方式
  • Math類別中的屬性與方法都是宣告為靜態(static),所以可以透過Math類別直接使用這些屬性和方法。
    程式試做範例:
import java.util.Arrays;
public class Alex1002_1{
    public static void main(String[] args) {
        //以下為假設兩組資料
        double[] data1 = {1.2, 1.8, 1.6, 3.7, 2.0};
        double[] data2 = {2.2, 2.0, 3.0, 4.2, 3.5};
        //計算平均值
        double mean1 = calculateMean(data1);
        double mean2 = calculateMean(data2);
        //計算分子和分母
        double numerator = 0; //分子
        double deno1 = 0, deno2 = 0; //分母
        for(int i = 0; i < data1.length; i++) {
            numerator += (data1[i] - mean1) * (data2[i] - mean2);
            deno1 += Math.pow(data1[i] - mean1, 2);
            deno1 += Math.pow(data2[i] - mean2, 2);
        }
        //計算餘弦關聯度
        double R = numerator / (Math.sqrt(deno1)*Math.sqrt(deno2));
        System.out.println("關聯度:"+ R);
    }
    //計算平均值的方法
    private static double calculateMean(double[] data) {
        double sum = 0.0;
        for(double value : data)
            sum += value;
        return sum / data.length;
    }
}

程式執行結果:

關聯度:0.8211087576345926

上一篇
Java程式-拋出&自訂例外
下一篇
Java程式-亂數使用&猜數字
系列文
自學Java物件導向程式語言30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言